package com.tencent.sr.iris.activity.interfaces.request.task;

import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 团长任务mock成为见习会员时间
 *
 * @author xiaojun
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MockCommissionRequest {

    @NotNull(message = "uid不能为空")
    @ApiModelProperty(value = "uid", required = true)
    private String uid;

    @ApiModelProperty(value = "mock的佣金接口返回值，如果为空，删除当前uid的mock数据")
    private MockCommissionDTO mockCommissionDTO;

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    class MockCommissionDTO {

        /**
         * 预估佣金
         */
        @NotNull(message = "estimateCommission不能为空")
        @ApiModelProperty(value = "预估佣金，不能为空", required = true)
        private Integer estimateCommission;

        /**
         * 实际佣金
         */
        @NotNull(message = "commission不能为空")
        @ApiModelProperty(value = "确认佣金，不能为空", required = true)
        private Integer commission;

        /**
         * 有效分享次数
         */
        @NotNull(message = "sharedTimes不能为空")
        @ApiModelProperty(value = "有效分享数，不能为空", required = true)
        private Integer sharedTimes;

        /**
         * t+29引入uv数
         */
        @NotNull(message = "shareUvTo29不能为空")
        @ApiModelProperty(value = "t+29有效分享数，邀请有礼使用，不能为空", required = true)
        private Integer shareUvTo29;

        /**
         * t+月末引入uv数
         */
        @NotNull(message = "shareUvToEndOfMonth不能为空")
        @ApiModelProperty(value = "t+月末有效分享数，月月领奖励使用，不能为空", required = true)
        private Integer shareUvToEndOfMonth;

        /**
         * waitCommissionAmt
         * 交易成功且待分佣金额
         */
        @NotNull(message = "waitCommissionAmt不能为空")
        @ApiModelProperty(value = "交易成功且待分佣金额，不能为空", required = true)
        private Integer waitCommissionAmt;
    }


}
